package com.jiangyao.model.dto.backend;

import com.jiangyao.model.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 组织DTO
 *
 * @author: yangyongchuan
 * @create: 2020年08月13日 21:58
 */
@ApiModel("组织DTO")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrgInfoDTO implements BaseDTO {

	private static final long serialVersionUID = 1753514726707642147L;

	/**
	 * 组织id
	 */
	@ApiModelProperty(value = "组织id")
	@NotNull(message = "组织ID不能为空", groups = {Edit.class, Detail.class})
	private Integer orgId;

	/**
	 * 组织ID集合
	 */
	@ApiModelProperty(value = "组织id")
	@NotNull(message = "组织ID不能为空", groups = {Delete.class})
	private List<Integer> orgIdList;

	/**
	 * 类型 1-学校 2-企业
	 */
	@ApiModelProperty(value = "类型 1-学校 2-企业", example = "1")
	@Range(min = 1, max = 2, message = "类型不正确", groups = {Add.class, Edit.class})
	private Integer orgType;

	/**
	 * 组织名称
	 */
	@ApiModelProperty(value = "组织名称")
	@NotNull(message = "组织名称不能为空", groups = {Add.class, Edit.class})
	@NotEmpty(message = "组织名称不能为空", groups = {Add.class, Edit.class})
	private String orgName;

	/**
	 * 组织logo
	 */
	@ApiModelProperty(value = "组织logo")
	private String orgLogo;

	/**
	 * 组织简介
	 */
	@ApiModelProperty(value = "组织简介")
	private String orgDesc;

	/**
	 * 组织标签,多个逗号分隔
	 */
	@ApiModelProperty(value = "组织标签,多个逗号分隔")
	private String orgTag;

	/**
	 * 官网
	 */
	@ApiModelProperty(value = "官网")
	private String orgUrl;

	/**
	 * 省
	 */
	@ApiModelProperty(value = "省")
	private String province;

	/**
	 * 市
	 */
	@ApiModelProperty("市")
	private String city;

	/**
	 * 区
	 */
	@ApiModelProperty(value = "区")
	private String region;

	/**
	 * 详细地址
	 */
	@ApiModelProperty(value = "详细地址")
	private String address;

	/**
	 * 所属行业
	 */
	@ApiModelProperty(value = "所属行业")
	private Integer belongIndustry = 0;

	/**
	 * 规模-小
	 */
	@ApiModelProperty(value = "规模-小")
	private Integer minSize = 0;

	/**
	 * 规模-大
	 */
	@ApiModelProperty(value = "规模-大")
	private Integer maxSize = 0;

	/**
	 * 状态 1-启用 0-禁用
	 */
	@ApiModelProperty(value = "状态 1-启用 0-禁用", example = "1")
	private Integer status;

	/**
	 * 管理员ID
	 */
	@ApiModelProperty(value = "管理员ID，管理账号不为空，其他管理员信息作废")
	private Integer manageAdminUserId;

	/**
	 * 管理员账号
	 */
	@ApiModelProperty(value = "管理员账号")
	private String manageLoginName;

	/**
	 * 管理员姓名
	 */
	@ApiModelProperty(value = "管理员姓名")
	private String manageName;

	/**
	 * 管理员电话
	 */
	@ApiModelProperty(value = "管理员电话")
	private String managePhone;

}
